from pdf2image import convert_from_path
import os

def convert_pdf_to_images(pdf_path, output_dir):
    # 确保输出目录存在
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    try:
        # 将PDF转换为图片
        images = convert_from_path(pdf_path)
        
        # 保存每一页为单独的图片
        for i, image in enumerate(images):
            # 生成输出文件名（页码从1开始）
            output_file = os.path.join(output_dir, f'{i+1}.png')
            
            # 保存图片
            image.save(output_file, 'PNG')
            print(f'已保存第 {i+1} 页为图片：{output_file}')
            
        print(f'转换完成！共处理 {len(images)} 页')
        
    except Exception as e:
        print(f'转换过程中出现错误：{str(e)}')

if __name__ == '__main__':
    # PDF文件路径
    pdf_path = './pdf/test.pdf'
    
    # 输出目录
    output_dir = './pdf_images'
    
    # 执行转换
    convert_pdf_to_images(pdf_path, output_dir)